home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 005 / animal.arc / ANIMAL.DAT
Encoding:
Text File  |  1980-01-01  |  2.8 KB  |  109 lines

  1. CLOSE
  2. CLEAR ALL VAR
  3. SET ERROR MESSAGE OFF
  4. SET MESSAGE OFF
  5. SET ERROR VARIABLE IMSTAT
  6. OPEN ANIMAL
  7. IF IMSTAT NE 0 THEN
  8.  CLOSE
  9.  ERASE ANIMAL?.RBF
  10.  DEFINE ANIMAL
  11.  COLUMNS
  12.  Q# INTEGER KEY
  13.  QUESTION TEXT 60
  14.  ANIMAL TEXT 20
  15.  ANSWER TEXT 1
  16.  QY# INTEGER
  17.  QN# INTEGER
  18.  TABLES
  19.  ANIMAL WITH Q# ANIMAL QUESTION ANSWER QY# QN#
  20.  END
  21.  LOAD ANIMAL
  22.  1 human "Do you walk on two legs?" Y -0- -0-
  23.  END
  24. ENDIF
  25. SET VAR VQ# TO 1
  26. SET VAR VANSWER TEXT
  27. SET VAR PLAY TEXT
  28. SET VAR PLAY TO Y
  29. SET VAR VNEXTQ# INTEGER
  30. WHILE PLAY EQ Y THEN
  31.  CLS
  32.  WRITE "Think of an animal and I will try to guess what it is."
  33.  WHILE VQ# EXISTS THEN
  34.   SET VAR VQ TO QUESTION IN ANIMAL WHERE Q# EQ .VQ#
  35.   SET VAR QANSWER TO ANSWER IN ANIMAL WHERE Q# EQ .VQ#
  36.   SET VAR VQY# TO QY# IN ANIMAL WHERE Q# EQ .VQ#
  37.   SET VAR VQN# TO QN# IN ANIMAL WHERE Q# EQ .VQ#
  38.   FILLIN VANSWER USING .VQ
  39.   IF (SGET(.VANSWER,1,1)) EQ .QANSWER THEN
  40.    SET VAR VANIMAL TO ANIMAL IN ANIMAL WHERE Q# EQ .VQ#
  41.    SET VAR X TO (SGET(.VANIMAL,1,1))
  42.    IF (SLOC("AEIOU",.X)) NE 0 THEN
  43.       SET VAR ADJ = "an"
  44.    ELSE
  45.       SET VAR ADJ = "a"
  46.    ENDIF
  47.    SET VAR X TO ("Are you" & .adj & .VANIMAL + "?")
  48.    SET VAR TWEEK TO QY#
  49.    FILLIN VANSWER USING .X
  50.    IF (SGET(.VANSWER,1,1)) EQ Y THEN
  51.     WRITE "That's one for me."
  52.     GOTO AGAIN
  53.    ENDIF
  54.    SET VAR VNEXTQ# TO .VQY#
  55.    SET VAR TWEEK TO QY#
  56.   ELSE
  57.    SET VAR VNEXTQ# TO .VQN#
  58.    SET VAR TWEEK TO QN#
  59.   ENDIF
  60.   IF VNEXTQ# FAILS THEN
  61.    FILLIN VANIMAL USING "I give up. What animal are you? "
  62.    SET VAR VANIMAL = (ULC(.VANIMAL))
  63.    SET VAR X TO (SGET(.VANIMAL,1,1))
  64.    IF (SLOC("AEIOU",.X)) NE 0 THEN
  65.       SET VAR ADJ = "an"
  66.    ELSE
  67.       SET VAR ADJ = "a"
  68.    ENDIF
  69.    SET VAR X TO ("What question would I ask to know that you are" +
  70.       & .ADJ & .VANIMAL & "?")
  71.    WRITE .X
  72.    COMPUTE VQ#A AS ROWS FROM ANIMAL
  73.    SET VAR VQ#A = (.VQ#A + 1)
  74.    FILLIN VQ USING "(Your question):"
  75.    SET VAR VQ = (ICAP1(.VQ))
  76.    SET VAR LOC = (SLOC(.VQ,?))
  77.    IF LOC EQ 0 THEN
  78.     SET VAR VQ = (.VQ + "?")
  79.    ENDIF
  80.    SET VAR X TO ("For" & .ADJ & .VANIMAL +
  81.       + ", what is the answer to that question? ")
  82.    FILLIN VANSWER USING .X
  83.    SET VAR VANSWER = (SGET(.VANSWER,1,1))
  84.    CHANGE .TWEEK TO .VQ#A IN ANIMAL WHERE Q# EQ .VQ#
  85.    LOAD ANIMAL
  86.    .VQ#A .VANIMAL .VQ .VANSWER -0- -0-
  87.    END
  88.    WRITE "Thanks for the new animal..."
  89.   ENDIF
  90.   SET VAR VQ# TO .VNEXTQ#
  91.  ENDWHILE
  92.  LABEL AGAIN
  93.  FILLIN VANSWER USING "Do you want to play again? "
  94.  IF (SGET(.VANSWER,1,1)) EQ N THEN
  95.   WRITE "Thanks for playing..."
  96.   SET VAR PLAY TO N
  97.   SET MESSAGE ON
  98.   SET VAR VQ# TO -0-
  99.  ELSE
  100.   SET VAR PLAY TO Y
  101.   SET VAR VQ# TO 1
  102.  ENDIF
  103. ENDWHILE
  104. CLEAR ALL VAR
  105. CLOSE
  106. SET ERROR MESSAGE ON
  107. SET MESSAGE ON
  108. INPUT KEYBOARD
  109.